/**
 *	@file	pgear_frm.c
 *	@brief	ポケギアメインフレーム ヘッダ
 *	@author	Miyuki Iwasawa
 *	@date	07.06.18
 */

#ifndef __H_PGEAR_FRM_H__
#define __H_PGEAR_FRM_H__

//ジョウトorカントー？
enum{
 PGLOCAL_KANTO,
 PGLOCAL_SEKIEI,
 PGLOCAL_JOHTO,
};

extern int PGFrame_FrameInit(PGEAR_SYS_WORK* wk);
extern int PGFrame_FrameRelease(PGEAR_SYS_WORK* wk);
/**
 *	@brief	スキン別2Dリソースの読み込み
 */
extern void PGFrame_2DResLoad(PGEAR_SYS_WORK* wk,u8 skin);

/**
 *	@brief	ポケギア　キーモードへの切替をチェック
 */
extern BOOL PGFrame_ChangeKeyModeCheck(PGEAR_SYS_WORK* wk);

/**
 *	@brief	ポケギア　タッチとキーの操作切替
 */
extern int PGFrame_ChangeTPkey(PGEAR_SYS_WORK* wk);
/*
 *	@brief	ポケギア　メインフレームタッチパネル制御
 */
extern int PGFrame_TpControl(PGEAR_SYS_WORK* wk);
/**
 *	@brief	ポケギア　システムキー入力
 */
extern int PGFrame_SysKeyControl(PGEAR_SYS_WORK* wk);

/*
 *	@brief	システムボタンのデフォルト表示描画
 */
extern void PGFrame_SysBtnDrawDef(PGEAR_SYS_WORK* wk);

/**
 *	@brief	システムボタン表示切替
 *
 *	@param	pos	ボタンの指定
 *	@param	state	ボタンのステート指定
 */
extern int PGFrame_SysBtnStChange(PGEAR_SYS_WORK* wk,u8 pos,u8 state);

/**
 *	@brief	時間表示更新
 */
extern int PGFrame_UpdateTime(PGEAR_SYS_WORK* wk,BOOL flag);

/**
 *	@brief	ポケギア　指定座標がカントーかジョウトか判定
 */
extern int PGFrame_GetLocalAreaPos(u16 x,u16 z);

/**
 *	@brief	ポケギア　フィールド上の座標がカントーかジョウトか判定
 */
extern int PGFrame_GetLocalArea(PGEAR_SYS_WORK* wk);

/**
 *	@brief	ポケギア　ローカルVramクリアと解放
 *
 *	MAIN1,2,3,SUB1,2,3は全てのアプリで初期化＆使用しているので、共通関数で処理してしまう
 */
extern void PGFrame_LocalVramClear(PGEAR_SYS_WORK* wk);

/**
 *	@brief	ポケギア　メイン画面アプリフェード
 *
 *	@param	mode	0:フェードイン,1:フェードアウト
 *
 *	＊フェード終了後に呼ばれても問題ないように組んでおく
 *	＊呼ぶ前にpalEvy変数を0クリアしておくこと
 */
extern int PGFrame_MainPalFadeWait(PGEAR_SYS_WORK* wk,u8 mode);

/**
 *	@brief	ポケギア　システムカーソル　モードの位置を返す
 *	(アプリのオープン状態で、位置がずれるので)
 */
extern u8	PGFrame_GetSCurModePosNo(PGEAR_SYS_WORK* wk);

/**
 *	@brief	メインフレームVramBankセット
 */
extern void PGFrame_VBankSet(void);


#endif	//__H_PGEAR_FRM_H__